#ifndef __SYMSTR__H__
#define __SYMSTR__H__

#include <stddef.h>
#include <stdint.h>

#ifdef __cplusplus
namespace sstd {
    extern "C" {
#endif

#define HASH_ZERO 0xb35745e2
#define HASH_BAS0 13
#define HASH_ADD0 17

uint64_t strhsh_0(const char *_str);
void strhsh_2(const char *_str, uint64_t *_key0, uint64_t *_key1);
char *strnupr(char *_str, size_t _len);
char *strnlwr(char *_str, size_t _len);
char *strnrev(char *_str, size_t _len);
size_t *strmts(const char *_str);
size_t strmts_nxt(const char* _str, const char *_substr, size_t *_mts, size_t _pos);

#ifdef __cplusplus
    }
}
#endif


#endif // __SYMSTR__H__
